1. Field of the Invention
This invention relates to electronic input devices. More particularly, it relates to a multi-element switch matrix in which each rows and columns may be bi-directionally scanned to provide high input capacity.
2. Background of Related Art
A keypad may be one of the most common user interfaces to electronic equipment, e.g., a computer, a TV, or a VCR, etc. Typically, a keypad, e.g., on a computer keyboard or on a TV remote controller, includes a plurality of keys arranged in a matrix of rows and columns. A computer user or a TV viewer may input their commands to and/or interact with the computer or the TV by pressing a particular key among a plurality of keys on a keypad.
Typically, the pressing of a key mechanically moves one or more corresponding electrical contact(s) to come into physical contact with another, thereby making an electrical connection between them. Depending on the type of connection mechanism employed, the electrical connection may be only momentary (e.g., may be disconnected when the key is released) or can be persistent (e.g., may remain connected even after releasing of the key until deliberately disconnected, e.g., by pressing the key again).
One example of connection mechanism that provides a momentary electrical connection is a push button, which provides electrical connection only while a button is being pressed, and disconnects when pressing is discontinued. On the other hand, a switch, once turned on, e.g., by pressing a key, remains on (i.e., connected) even if the key is released, until the switch is actively turned off, e.g., by pressing the key again, as is the case with a particular kind of switch called a toggle switch.
As with the keys, the corresponding connection mechanisms are also arranged in a matrix of rows and columns, typically referred to as a switch matrix. Thus, the position of each push button or switch within the matrix can be represented by a row and column coordinate, e.g., (row, col). For example, a push button located on the second row and at third column would have the coordinate (2, 3).
Typically, a switch matrix is “scanned” to determine which key is pressed. The scanning typically involves applying a known signal to a row, and examining each column. For example, if a signal level LOW was detected in column 2 while row 1 is being driven LOW, then the key at coordinate (1, 2) is determined as being pressed. This process is repeated for each of the rows, one row at a time, at a sufficiently rapid speed to detect even the briefest pressing of a key. With this scanning method, pressing of any key at any position within the matrix can be detected so long as only one key is pressed at a time.
As more and more advanced features are added to electronic equipment, the user interface thereto requires increasing number of keys. Unfortunately, the maximum number of keys a conventional switch matrix may scan and detect is limited to the product of the number of rows and the number of columns. For example, a conventional 4×4 switch matrix would support a maximum of 16 keys.
Thus, the size of conventional matrix must increase in order to accommodate increasing required number of keys, thus increasing the manufacturing cost of user interface devices.
Furthermore, a conventional scanning switch matrix can only accommodate momentary contact connection mechanisms, e.g., push buttons. Because a switch remains connected even after the release of the corresponding key, a sequential pressing of two keys would appear to a conventional scanning switch matrix as if the two keys were pressed simultaneously. Because a conventional scanning switch matrix can only detect one key press at a time, it cannot accommodate a switch.
Thus, if a user interface device requires both push buttons and switches, a dedicated detection mechanism must be provided for each switch in addition to the switch matrix. The additional detection mechanism adds complexity and cost to the user interface.
There is a need for a scanning switch matrix that is capable of accommodating more keys than the conventional maximum, i.e., the product of the number of rows and the number of columns.
There is also a need for more flexible and cost efficient switch matrix that allows integration of switches without the need for dedicated detection mechanism for the switches.